home *** CD-ROM | disk | FTP | other *** search
- #import "MacToNeXTText.h"
- #import "common.h"
- #import <stdio.h>
-
- void main()
- {
- Instance converter;
- Integer index;
- Character theChar, strictChar;
- CString source = "Hi there how are you doing?";
- ErrorCode errorone, errortwo;
- FILE* theFile;
- CString result, buffer;
- Integer resultsize;
- Integer ctr, colctr = 1;
-
- converter = [[MacToNeXTText alloc] init];
- //
- // Convert an ascii char, an existing 8 bit char, and a characcter we know won't convert
- //
- printf("Character A: %c (bool result: %d)\n",
- [converter ConvertCharacter: 'A'],
- [converter GetBooleanFrom: SECOND_RESULT]);
-
- printf("Character paragraph: %c (bool result: %d)\n",
- [converter ConvertCharacter: 0xA6],
- [converter GetBooleanFrom: SECOND_RESULT]);
-
- printf("Can't convert apple : %c (bool result: %d)\n",
- [converter ConvertCharacter: 0xF0],
- [converter GetBooleanFrom: SECOND_RESULT]);
- for (index = 0; index < 256; index++)
- {
- theChar = [converter ConvertCharacter: index];
- [converter UseIM1: YES];
- errorone = [converter GetErrorCode];
- strictChar = [converter ConvertCharacter: index];
- [converter UseIM1: NO];
- errortwo = [converter GetErrorCode];
- printf("Converting Mac 0x%X to NeXT 0x%X (%c) (error: %d) [strict: 0x%X (%c) (error: %d)]\n",
- index,
- theChar, theChar, errorone,
- strictChar, strictChar, errortwo);
- }
-
- // part two.
- buffer = NewCString(512);
-
- for (ctr = 0; ctr < 256; ctr++)
- {
- if (colctr != 16)
- {
- buffer[ctr*2] = ctr;
- buffer[(ctr*2)+1] = ' ';
- colctr++;
- }
- else
- {
- buffer[ctr*2] = ctr;
- buffer[(ctr*2)+1] = '\r';
- colctr = 1;
- }
- }
- buffer[512] = EndOfCString;
- printf("Source text is: \n%s\n", &buffer[1]); // skip initial null
- result =(CString) [converter ConvertString: (Pointer) buffer WithLength: 512];
- resultsize = [converter GetIntegerFrom: SECOND_RESULT];
- printf("Size of result: %d\n", resultsize);
- printf("Results text is: \n");
- for (ctr = 0; ctr < resultsize; ctr ++)
- printf("%c", result[ctr]);
- printf("\n");
- // test that it expands its internal buffer alright by giving it some text which we
- // know will multiply in size when it comes out. .. convert lots of apples
- for (ctr = 0; ctr < 16; ctr++)
- buffer[ctr] = 0xF0;
- buffer[16] = EndOfCString;
- printf("Source text is: \n%s\n", (CString)buffer);
- result =(CString) [converter ConvertString: (Pointer) buffer WithLength: 16];
- resultsize = [converter GetIntegerFrom: SECOND_RESULT];
- printf("Size of result: %d\n", resultsize);
- printf("Results text is: \n");
- for (ctr = 0; ctr < resultsize; ctr ++)
- printf("%c", result[ctr]);
- printf("\n");
-
- FreePointer(result);
- FreePointer(buffer);
- close(theFile);
- [converter free];
- }